In a basic desktop computing environment, a computer, accessing data from its hard drive, performs a specified function such as word processing, displaying information on a screen, and, when requested, producing a document on a connected printer. In a distributed computing environment, the resources found in the desktop environment are spread across any number of interconnected devices. For example, a client accesses resource over the Internet. Accessing data provided by the client or located and retrieved from another device, the resource performs specified tasks. These tasks include manipulating the data as instructed, returning the data for use by the client, and/or sending data to a printer for production.
The following provides a more specific example of a distributed computing system utilized to print documents. A client computer, utilizing a web browser and the Internet, accesses a web server providing a document printing resource. The web server may be running on a device connected to or networked with one or more printers, alternatively the web server may be embedded in the printer itself. The printing resource locates available web enabled printers and a data resource managing electronic documents. The printing service then returns to the browser a graphical interface containing user accessible controls for selecting a document from the data resource as well as controls for selecting a printer. Selections made through the interface are returned to the printing resource. Accessing the data resource, the printing resource retrieves and/or sends the selected document to the selected printer for production.
A given data resource often functions as a personal repository for any number of users. The documents each user stores on the data server are segregated into data stores. For security reasons, the data server allows access to a data store only after a user supplies verifiable credentials such as a user name and a password. To provide a print resource access to a data resource with minimal user interaction, a client such as a browser is extended with additional programming enabling the browser to locate the user's data store. Developing and distributing the additional programming is relatively inefficient and can be expensive.
Moreover, conventional approaches fail to maintain a user's privacy. Without additional limitations, after a user provides credentials to a third party to access a given resource, the user relinquishes a significant amount of control. The third party, acting improperly, may continue to access the data resource without the user's consent or knowledge. Moreover, the third party can use the credentials to monitor the activities of the user.